package com.demarc.pesquisas.negocio.entidade;

import java.io.Serializable;

import javax.persistence.MappedSuperclass;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;

@MappedSuperclass
public class AbstractPessoaEntrevistada<T extends Serializable> extends AbstractPessoa<T> {

    private String carteiraTrabalho;
    private String registroNascimento;
    private String certificadoReservista;

    public String getCarteiraTrabalho() {
        return carteiraTrabalho;
    }

    public void setCarteiraTrabalho(String carteiraTrabalho) {
        this.carteiraTrabalho = carteiraTrabalho;
    }

    public String getRegistroNascimento() {
        return registroNascimento;
    }

    public void setRegistroNascimento(String registroNascimento) {
        this.registroNascimento = registroNascimento;
    }

    public String getCertificadoReservista() {
        return certificadoReservista;
    }

    public void setCertificadoReservista(String certificadoReservista) {
        this.certificadoReservista = certificadoReservista;
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder().append(super.getCpf()).toHashCode();
    }

    @Override
    public boolean equals(Object obj) {
        boolean isEquals = false;

        if (obj == this) {
            isEquals = true;
        } else if (obj instanceof AbstractPessoaEntrevistada) {
            AbstractPessoaEntrevistada pessoa = (AbstractPessoaEntrevistada) obj;
            isEquals = new EqualsBuilder().append(super.getCpf(), pessoa.getCpf()).isEquals();
        }
        return isEquals;
    }
}
